With the advent and proliferation of different technologies, each of which optimized different access-types and each of which employ different codecs, it is not an uncommon phenomenon that a call gets transcoded as it traverses various networks employing different kinds of technology. For example, different codecs are used for coding and decoding voice traffic carried in different networks. By way of example, in LTE networks Adaptive Multi-Rate codecs are used for voice; in CDMA networks Enhanced Variable-Rate Codecs (EVRCs) are used for voice, in Web Real-time Communication (WebRTC) networks OPUS codecs are used for voice; and in traditional Public Switched Telephone Networks (PSTNs) G.711 codecs are used for voice. In a similar way, different codecs are employed for the transmission of video across different networks optimized for technologies. For example, in LTE networks the use of H.264 codecs is recommended for video while in a WebRTC network VP8 codecs are used for video transmission. Video which is another form of real-time traffic typically requires media relay with policing but for interconnecting certain networks such as MSLync, WebRTC or Enterprise networks video transcoding is required.
As a result, Session Border Controllers (SBCs) employed in these networks therefore need to be able to provide transcoding not only for audio streams but also video streams. SBC nodes typically provide video transcoding by invoking Media Resource Function nodes and/or equipment referred to herein as MRFs, which have specialized functions to provide audio and video transcoding. The SBCs typically invoke an MRF using a Session Initiation Protocol (SIP) based interface. For example, in some instances a call is routed via an MRF and the MRF egresses the call by acting as a SIP Back-to-Back User Agent (B2BUA). A SIP session can consist of real time and non-real time streams. Examples of real time streams which may be included in a session are audio streams, e.g., carrying voice data, video streams, e.g., carrying core-video and whiteboard sharing data, and image streams, e.g., carrying fax data. Non-real time streams include application streams such as for example Message Session Relay Protocol (MSRP) streams, Binary Floor Control Protocol (BFCP) streams and Far End Camera Control protocol streams.
Most video calls involve whiteboard sharing that requires a Binary Floor Control Protocol (BFCP) stream. In addition to this a video stream may also require a Far End Camera Control (FECC) stream. Also some of the sessions have Message Session Relay Protocol streams such as when providing Rich Communications Services (RCS).
The Binary Floor Control Protocol is defined in the Request for Proposal (RFC) 4582 published by the Internet Engineering Task Force (IETF). As described in RFC 4582, floor control is a means to manage joint or exclusive access to shared resources in a (multiparty) conferencing environment. Thereby, floor control complements other functions—such as conference and media session setup, conference policy manipulation, and media control—that are realized by other protocols. BFCP is used between floor participants and floor control servers, and between floor chairs (i.e., moderators) and floor control servers. Within a conference, some applications need to manage the access to a set of shared resources, such as the right to send media to a particular media session. Floor control enables such applications to provide users with coordinated (shared or exclusive) access to these resources. BFCP is a non-real time stream.
MSRP is a non-real time session-oriented instant message transport protocol defined in the IETF Request for Proposal (RFC) 4975 published by the Internet Engineering Task Force.
And, Far End Camera Control protocol (FECC) stream is described in the IETF Request for Proposal (RFC) 4573 as a non-real time stream used by participants to control the remote camera in conversational video applications. In conversational video applications, far-end camera control protocol is used by participants to control the remote camera. The protocol that is commonly used is ITU (International Telecommunication Union) H.281 over H.224.
While MRFs support real-time streams such as audio and video streams and provide transcoding for the streams, the MRFs typically don't support performing Message Session Relay Protocol (MSRP) or Far End Camera Control protocol streams relay.
If the MRFs receive and pass through these non-real time protocol communication streams such as BFCP and MSRP streams, MRF resources/ports will be used for these non-real time streams impacting MRF ports used for transcoding on real-time streams.
In view of the above discussion, there is a need for new methods, apparatus and systems to conserve Media Resource Function (MRF) resources by identifying streams of sessions, for example non-real time streams, which can be routed in a way that avoids use of MRF resources.
In view of the above there is also a need for new methods, apparatus and systems that can route streams identified as not requiring MRF resources in a way that avoids use of MRF resources.
In view of the above there is also a need for new methods, apparatus and systems that can route streams identified as not supported by a MRF in a way that avoids use of the MRF's resources.